package thread;

/**
 * 线程的优先级:
 * 线程有10个优秀级，分别对应整数1——10.其中1为最低优先级，10为最高优先级，5是默认值。
 * <p>
 * 线程start后就纳入到了线程调度器中统一管理，"线程不能主动索取CPU时间片"，只能被动分配。线程调度器
 * 会尽可能均匀分配时间片段给每一个线程。我们可以通过调整线程的优先级来改善一个线程获取CPU时间片的概率.
 * 线程优先级越高的线程获取CPU时间片的次数越多.
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("min");
                }
            }
        };
        Thread norm = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("nor");
                }
            }
        };
        Thread max = new Thread(){
            public void run(){
                for(int i=0;i<1000;i++){
                    System.out.println("max");
                }
            }
        };
        /** setPriority(int newPriority): 修改优先级 */
        min.setPriority(Thread.MIN_PRIORITY);//部分(10,5,1)有常量可调用.
        norm.setPriority(10);

        min.start();
        norm.start();
        max.start();







    }


}
